
/*~~~~~~~~~~~~~~~~~~~~~~~~【文件读写 打开文件】~~~~~~~~~~~~~~~~~~~~~~~~~*/
//filename 是字符串，用来命名文件，访问模式 mode 的值可以是下列值中的一个：
//
//模式	描述
//r	打开一个已有的文本文件，允许读取文件。
//w	打开一个文本文件，允许写入文件。如果文件不存在，则会创建一个新文件。在这里，您的程序会从文件的开头写入内容。如果文件存在，则该会被截断为零长度，重新写入。
//a	打开一个文本文件，以追加模式写入文件。如果文件不存在，则会创建一个新文件。在这里，您的程序会在已有的文件内容中追加内容。
//r+	打开一个文本文件，允许读写文件。
//w+	打开一个文本文件，允许读写文件。如果文件已存在，则文件会被截断为零长度，如果文件不存在，则会创建一个新文件。
//a+	打开一个文本文件，允许读写文件。如果文件不存在，则会创建一个新文件。读取会从文件的开头开始，写入则只能是追加模式。

/*~~~~~~~~~~~~~~~~~~~~~~~~【写入文件】~~~~~~~~~~~~~~~~~~~~~~~~~*/
//#include <stdio.h>
// 
//int main()
//{
//   FILE *fp = NULL;
// 
//   fp = fopen("/tmp/test.txt", "w+");
//   fprintf(fp, "This is testing for fprintf...\n");
//   fputs("This is testing for fputs...\n", fp);
//   fclose(fp);
//}

/*~~~~~~~~~~~~~~~~~~~~~~~~【读取文件】~~~~~~~~~~~~~~~~~~~~~~~~~*/
//#include <stdio.h>
// 
//int main()
//{
//   FILE *fp = NULL;
//   char buff[255];
// 
//   fp = fopen("/tmp/test.txt", "r");
//   fscanf(fp, "%s", buff);
//   printf("1: %s\n", buff );
// 
//   fgets(buff, 255, (FILE*)fp);
//   printf("2: %s\n", buff );
//   
//   fgets(buff, 255, (FILE*)fp);
//   printf("3: %s\n", buff );
//   fclose(fp);
//}

/*~~~~~~~~~~~~~~~~~~~~~~~~【二进制 I/O 函数】~~~~~~~~~~~~~~~~~~~~~~~~~*/
//size_t fread(void *ptr, size_t size_of_elements, 
//             size_t number_of_elements, FILE *a_file);
//              
//size_t fwrite(const void *ptr, size_t size_of_elements, 
//             size_t number_of_elements, FILE *a_file);

/*~~~~~~~~~~~~~~~~~~~~~~~~【】~~~~~~~~~~~~~~~~~~~~~~~~~*/


/*~~~~~~~~~~~~~~~~~~~~~~~~【】~~~~~~~~~~~~~~~~~~~~~~~~~*/


/*~~~~~~~~~~~~~~~~~~~~~~~~【】~~~~~~~~~~~~~~~~~~~~~~~~~*/


/*~~~~~~~~~~~~~~~~~~~~~~~~【】~~~~~~~~~~~~~~~~~~~~~~~~~*/


/*~~~~~~~~~~~~~~~~~~~~~~~~【】~~~~~~~~~~~~~~~~~~~~~~~~~*/


/*~~~~~~~~~~~~~~~~~~~~~~~~【】~~~~~~~~~~~~~~~~~~~~~~~~~*/



